package com.galaxy.service.service.global;

import com.galaxy.service.entity.system.Permission;
import java.util.List;
import java.util.Map;

/**
 * shiro服务接口
 * @author caijinbang
 * @date 2018/10/27 18:10
 */
public interface ShiroService {


  /**
   * 获取拦截器数据
   * @return
   */
  public Map<String,String> getFilterChainDefinitionMap();

  /**
   * 迭代所有的资源子集
   * @param resource
   * @param permsList
   * @param anonList
   */
  public void iterationAllResourceInToFilter(Permission resource,
      List<String[]> permsList,List<String[]> anonList);

  /**
   * 重新加载权限
   */
  public void reloadPerms();

  /**
   * 清除指定用户ID的授权信息
   * @param uid 用户ID
   * @param author 是否清空授权信息
   * @param out 是否清空session
   */
  public void clearAuthByUserId(String uid,Boolean author, Boolean out);

  /**
   * 清除指定用户ID集合的授权信息
   * @param userList 用户ID集合
   * @param author 是否清空授权信息
   * @param out 是否清空session
   */
  public void clearAuthByUserIdCollection(List<String> userList,Boolean author, Boolean out);

}
